1. Field of the Invention
The present invention relates to telephony systems such as those using Voice over Internet Protocol (VoIP). In particular, the present invention relates to users with administrative rights defining new codecs to be supported by a telephony system and to negotiating a codec to place a call in the telephony system.
2. Description of the Background Art
The prior art includes a variety of distributed telephony systems. Traditional switched network systems have given way to new telephony systems that use VoIP. These VoIP systems offer the same functionality as more traditional switched system such as the ability to transfer calls, put calls on hold, automated attendant functions, hunt groups, etc. VoIP systems use a codec during a call to convert analog signals to a compressed digital bit stream. The codecs allow VoIP systems to transmit encoded audio, video or data across Internet Protocol networks. Each codec has an associated bandwidth, which is a factor in determining the bandwidth allocated for a call along with other factors such as the bandwidth required for the network protocol headers and the packetization rate. For example, if at the initiation of a call it is determined that codec PCMU/8000 with an associated bandwidth of 64 kbps will be used for the call, then accordingly sufficient bandwidth is allocated.
New VoIP systems offer users the ability to make and receive not only voice calls, but also video and data conferencing calls (e.g., whiteboarding and screensharing). Video and data conferencing calls each have their own codecs. In addition to codecs, VoIP system use settings such as frame rate and resolution to determine how best to connect these calls. Codecs, frame rate and resolution are referred to collectively as call settings. Existing VoIP systems work one of two ways, either they are programmed to support specific call settings and only allow endpoints (e.g., IP phones, software phones) to use those call settings or they blindly pass through the call settings offered by the endpoints but do not attempt to account for bandwidth or do not provide administrative control over how the call settings should be managed.